// *******************************************************************************************************
// # お問い合わせ画面
//   ・インプットテキスト
//   ・モーダル 位置
// *******************************************************************************************************

(function(win, doc) {
	/* インプットテキスト
	----------------------------------- */
	function inputText() {
		var $inputText = $('input:text');

		$inputText.each(function(i){
			$(this).focus(function(e){
				$(this).addClass('input-focus');
				if(this.value == this.defaultValue){
					$(this).val('');
				};
			}).blur(function(e){
				if(this.value == ''){
					$(this).val(this.defaultValue).removeClass('input-focus');
				};
			});
			if (this.value != this.defaultValue) {
				$(this).addClass('input-focus');
			};
		});
	}
	
	
	/*******************************************************
	 *　駅選択イベント
	 *******************************************************/
	function selectEki(idx,name, rosencd, ekicd){
		$('#input-station' + idx).val(name);
		$('#input-ekicode' + idx).val(rosencd);
		$('#input-eki' + idx).val(name);
		$('#input-target' + idx).val(ekicd);
		
		$('#select_list' + idx).empty();
	}
	function clearEki(idx){
		$('#input-ekicode' + idx).val('');
		$('#input-target' + idx).val('');
		$('#input-eki' + idx).val('');
	}
	
	/* モーダル 位置
	----------------------------------- */
	function modalPosition() {
		$('a.modal_link').on('click', function(e){
			var _id = $(this).attr('href'),
				_st = $(window).scrollTop(),
				_wh = $(window).height(),
				_ch = $(_id).height();
			if (_wh > _ch) {
				$(_id).css({ 'top': _st + (_wh-_ch)*0.5 });
			} else {
				$(_id).css({ 'top': _st + 20 });
			};
		});
	};

	/* 実行
	----------------------------------- */
	$(function() {
		inputText();
		modalPosition();
	});


	
	var lastkeycode;
	//駅検索テキストボックスのイベント設定
	$("input[name='input-station']").keyup(function(e){
		
		var idx = $(this).data('seq');
		if(lastkeycode == e.keyCode)
			return;
		lastkeycode = e.keyCode;
		
		//テキストボックスが変更されたらClear
		if 	($('#input-eki' + idx).val('') != $(this).val())
		{
			clearEki(idx);
			$('#select_list' + idx).empty();
		}
		
		//4byte以上→検索
		if(countJapaneseString($(this).val()) > 1){	
			
			AjaxEkiSearch(idx,$(this).val());
			
		}
		

		return false;
	});
	

	function countJapaneseString(str) { 
	    var r = 0; 
	    for (var i = 0; i < str.length; i++) { 
	        var c = str.charCodeAt(i); 
	        // Shift_JIS: 0x0 ～ 0x80, 0xa0 , 0xa1 ～ 0xdf , 0xfd ～ 0xff 
	        // Unicode : 0x0 ～ 0x80, 0xf8f0, 0xff61 ～ 0xff9f, 0xf8f1 ～ 0xf8f3 
	        if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { 
	            //r += 1; //全角文字だけカウントする。
	        } else { 
	            r += 1; 
	        } 
	    } 
	    return r; 
	} 
	
	function AjaxEkiSearch(idx,keyword)
	{
		if (keyword == undefined || keyword == '' )
			return;
	
		console.log(keyword);
		$.ajax({
			beforeSend: function(xhr){
		    	 xhr.overrideMimeType("text/html;charset=UTF-8");
			},
			type: 'POST',
			url: '/areaajax/getekirosencd/',
			dataType: 'text',
			data:{eki:keyword,likeop:"1"},
			success: function(data) {
//				console.log(data);
				
				if ($("#input-station" + idx).val() != keyword)
					{
						AjaxEkiSearch(idx,$("#input-station" + idx).val());
						return;
					}
				if(data != undefined && data != ''){
					$('#select_list' + idx).empty();
					
					//データフォーマット駅（都道府県）|都道府県CDー駅CD;...								
					  var vals = data.split(';');								  								  
					  for(var i = 0; i < vals.length; i++){
						  var splitVals = vals[i].split('|');
						  var tag = '';
						  
						  tag = tag + '<li><label class="list_wrap"><span class="box_radio"><input name="radio_dummy" type="radio" value="" class="input_check"';
						  tag = tag + ' onclick="javascript:selectEki(' + idx + ",'" + splitVals[0] + "','" + splitVals[1] + "','" + splitVals[2] + "')" + '" /></span>'
						  tag = tag + '<span class="box_txt">' + splitVals[0];
						  tag = tag + '</span></label></li>';
						  
						  $('#select_list' + idx).append(tag);
						  //$('#select_list' + idx).append('<li><a href="javascript:void(0)" onclick="selectEki(' + idx + ",'" + splitVals[0] + "','" + splitVals[1] + "','" + splitVals[2] + "')" + '"' + '>' + splitVals[0] + '</a></li>')
					  }
					  
				}
				
			},
			error:function() {
				$('#select_list' + idx).empty();
			}
		});
	}
})(this, document);